// 判断当前工作路径下某个路径是否存在
// 如果不存在则创建该目录
// 目录名由argv参数传递
// 对目录进行操作需要使用 #include <sys/types.h>、#include <dirent.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <dirent.h>
#include <fcntl.h>

int main(int argc, char *argv[]){

	// 该dp用于指示文件目录的操作
	DIR *dp;

	int temp;

	// 判断参数输入是否正确，如果不正确，则退出
	if(argc != 2){
		printf("Please input the current finenameDircetory!\n");
		return -2;
	}

	// 判断路径是否存在，如果不存在则创建该目录
	dp = opendir(*(argv+1));
	//printf("The Description of opendir is:", *dp);
	if(dp == NULL){
		printf("该目录不存在！下面自动创建该目录...\n");

		// 创建目录
		temp = mkdir(*(argv+1), S_IRWXU | S_IRGRP | S_IXOTH);

		// 判断路径是否创建成功
		if(temp == -1){
			printf("创建目录失败！自动退出...\n");
			return -3;
		}

		printf("已成功创建该目录！\n");
	}else{
		printf("该目录存在！已成功打开该目录！\n");

	
		// 如果该目录存在，则打开后需要关闭该目录
		closedir(dp);
		printf("程序结束，已关闭该目录！\n");
	}
	return 0;
}
